function convertTimeFormat(isoStr) {
    const match = isoStr.match(/^PT(\d+)H(\d+)M$/);
    
    if (!match) {
        throw new Error("无效的格式，请使用类似'PT08H09M'的ISO 8601时长格式");
    }
    
    // 提取小时和分钟，转换为数字以去除前导零
    const hours = parseInt(match[1], 10);
    const minutes = parseInt(match[2], 10);
    
    // 拼接为目标格式
    return `${hours}h ${minutes}m`;
}

// 示例用法
const isoDuration = "PT08H09M";
const simplifiedDuration = convertTimeFormat(isoDuration);
console.info(simplifiedDuration); // 输出: "8h 9m"

// 其他测试案例
console.info(convertISODuration("PT12H05M")); // 输出: "12h 5m"
console.info(convertISODuration("PT12H55M")); // 输出: "12h 5m"
console.info(convertISODuration("PT00H30M")); // 输出: "0h 30m"
console.info(convertISODuration("PT05H00M")); // 输出: "5h 0m"
